package com.example.backend.dto;

import com.example.backend.domain.enums.FileStatus;
import com.example.backend.domain.enums.FileType;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.Instant;

/**
 * 文件数据传输对象
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class FileDto {
    private Long id;
    private String fileName;
    private String originalFileName;
    private String filePath;
    private Long fileSize;
    private String mimeType;
    private FileType fileType;
    private FileStatus status;
    private String description;
    private String tags;
    private Long uploadedBy;
    private String uploadedByName;
    private Long ticketId;
    private Long commentId;
    private String fileHash;
    private String metadata;
    private Integer downloadCount;
    private Instant lastAccessedAt;
    private Instant createdAt;
    private Instant updatedAt;
}
